#ifndef QUAD_PROCESS_H
#define QUAD_PROCESS_H

#include <vector>
#include "Process\Process.h"
#include "Camera\FPSCamera\FPSCamera.h"
#include "Camera\ThPSCamera\ThPSCamera.h"
#include "Math\Vector2.h"
class CGraphicsManager;
class CFontManager;
class CObject3D;
class CStaticMesh;
class CQuadProcess: public CProcess
{
	public:
		CQuadProcess			(void);
		~CQuadProcess			(void);
		void	Update			(float l_DeltaTime);
		void	RenderScene		(CGraphicsManager *l_GraphicsManager,float l_DeltaTime);
		void	RenderScene2D	(CGraphicsManager *l_GraphicsManager, CFontManager *l_FontManager,float l_DeltaTime);
		void	Init			();
		void	DeInit			();
		uint32	RenderDebugInfo	(CGraphicsManager *l_GraphicsManager, CFontManager *l_FontManager, float l_Fps);
	private:
		float	m_x,m_y;
		float	m_time;
		bool m_GameOver;
		int m_speed;
		int m_Puntuacio;
		enum CurrentDirection{DOWN=0,UP,LEFT,RIGHT};
		CurrentDirection m_Dir1;
		std::vector<Vect2f> m_Colisionar;
		std::vector<Vect2f> m_Menjar;
		CObject3D	*m_Object;
		CObject3D	*m_Object1;
		float m_Yaw, m_Pitch;
		Vect3f m_Pos;
		Vect3f m_Dir;
		bool m_Canvi;
		bool m_Direccio;
		bool m_IsVisible;
		CCamera *m_Camera;
		CFPSCamera *m_FPSCamera;
		CThPSCamera *m_ThPSCamera;
		CStaticMesh *m_Static;
};

#endif